using SheLife.Domain.Entities;

namespace SheLife.Domain.Interfaces.Repositories
{
    /// <summary>
    /// 食谱仓储接口
    /// </summary>
    public interface IRecipeRepository : IRepository<Recipe>
    {
        Task<IEnumerable<Recipe>> GetByCategoryAsync(string category);
        Task<IEnumerable<Recipe>> GetByTagAsync(string tag);
        Task<IEnumerable<Recipe>> GetByLifeStageAsync(string lifeStage);
        Task<IEnumerable<Recipe>> GetByNutritionFocusAsync(string nutritionFocus);
        Task<IEnumerable<Recipe>> GetPopularRecipesAsync(int count = 10);
        Task<IEnumerable<Recipe>> SearchRecipesAsync(string keyword);
    }
}